Jump to content

Parallel ATA

From Wikipedia, the free encyclopedia
(Redirected from ATA command set)
Parallel ATA
Two ATA motherboard sockets above, with an ATA connector below
Type Internal storage device connector
Production history
Designer Western Digital and Compaq,
subsequently enhanced by many others
Designed 1986
Superseded by Serial ATA (2003)
General specifications
Hot pluggable No
External No
Cable 40 or 80 conductor ribbon cable
Pins 40
Data
Width 16 bits
Bitrate Half-duplex:
8.3 MB/s per ATA channel originally
later 33, 66, 100 and 133 MB/s per ATA channel
Max. devices Two
Protocol Parallel
Pinout
Pin 1 Reset
Pin 2 Ground
Pin 3 Data 7
Pin 4 Data 8
Pin 5 Data 6
Pin 6 Data 9
Pin 7 Data 5
Pin 8 Data 10
Pin 9 Data 4
Pin 10 Data 11
Pin 11 Data 3
Pin 12 Data 12
Pin 13 Data 2
Pin 14 Data 13
Pin 15 Data 1
Pin 16 Data 14
Pin 17 Data 0
Pin 18 Data 15
Pin 19 Ground
Pin 20 Key or VCC_in
Pin 21 DDRQ
Pin 22 Ground
Pin 23 I/O write
Pin 24 Ground
Pin 25 I/O read
Pin 26 Ground
Pin 27 IOCHRDY
Pin 28 Cable select
Pin 29 DDACK
Pin 30 Ground
Pin 31 IRQ
Pin 32 No connect
Pin 33 Addr 1
Pin 34 GPIO_DMA66_Detect
Pin 35 Addr 0
Pin 36 Addr 2
Pin 37 Chip select 1P
Pin 38 Chip select 3P
Pin 39 Activity
Pin 40 Ground

Parallel ATA (PATA), originally AT Attachment, also known as Integrated Drive Electronics (IDE), is a standard interface designed for IBM PC-compatible computers. It was first developed by Western Digital and Compaq in 1986 for compatible hard drives and CD or DVD drives. The connection is used for storage devices such as hard disk drives, floppy disk drives, optical disc drives, and tape drives in computers.

The standard is maintained by the X3/INCITS committee.[1] It uses the underlying AT Attachment (ATA) and AT Attachment Packet Interface (ATAPI) standards.

The Parallel ATA standard is the result of a long history of incremental technical development, which began with the original AT Attachment interface, developed for use in early PC AT equipment. The ATA interface itself evolved in several stages from Western Digital's original Integrated Drive Electronics (IDE) interface. As a result, many near-synonyms for ATA/ATAPI and its previous incarnations are still in common informal use, in particular Extended IDE (EIDE) and Ultra ATA (UATA). After the introduction of SATA in 2003, the original ATA was renamed to Parallel ATA, or PATA for short.

Parallel ATA cables have a maximum allowable length of 18 in (457 mm).[2][3] Because of this limit, the technology normally appears as an internal computer storage interface. For many years, ATA provided the most common and the least expensive interface for this application. It has largely been replaced by SATA in newer systems.

History and terminology

[edit]

The standard was originally conceived as the "AT Bus Attachment", officially called "AT Attachment" and abbreviated "ATA"[4][5] because its primary feature was a direct connection to the 16-bit ISA bus introduced with the IBM PC/AT.[6] The original ATA specifications published by the standards committees use the name "AT Attachment".[7][8][9] The "AT" in the IBM PC/AT referred to "Advanced Technology" so ATA has also been referred to as "Advanced Technology Attachment".[10][4][11][12] When a newer Serial ATA (SATA) was introduced in 2003, the original ATA was renamed to Parallel ATA, or PATA for short.[13]

Physical ATA interfaces became a standard component in all PCs, initially on host bus adapters, sometimes on a sound card but ultimately as two physical interfaces embedded in a Southbridge chip on a motherboard. Called the "primary" and "secondary" ATA interfaces, they were assigned to base addresses 0x1F0 and 0x170 on ISA bus systems. They were replaced by SATA interfaces.

IDE and ATA-1

[edit]
Example of a 1992 80386 PC motherboard with nothing built in other than memory, keyboard, processor, cache, realtime clock, and slots. Such basic motherboards could have been outfitted with either the ST-506 or ATA interface, but usually not both. A single 2-drive ATA interface and a floppy interface was added to this system via the 16-bit ISA card

The first version of what is now called the ATA/ATAPI interface was developed by Western Digital under the name Integrated Drive Electronics (IDE). Together with Compaq (the initial customer), they worked with various disk drive manufacturers to develop and ship early products with the goal of remaining software compatible with the existing IBM PC hard drive interface.[14] The first such drives appeared internally in Compaq PCs in 1986[15][16] and were first separately offered by Conner Peripherals as the CP342 in June 1987.[17]

The term Integrated Drive Electronics refers to the drive controller being integrated into the drive, as opposed to a separate controller situated at the other side of the connection cable to the drive. On an IBM PC compatible, CP/M machine, or similar, this was typically a card installed on a motherboard. The interface cards used to connect a parallel ATA drive to, for example, an ISA Slot, are not drive controllers: they are merely bridges between the host bus and the ATA interface. Since the original ATA interface is essentially just a 16-bit ISA bus, the bridge was especially simple in case of an ATA connector being located on an ISA interface card. The integrated controller presented the drive to the host computer as an array of 512-byte blocks with a relatively simple command interface. This relieved the mainboard and interface cards in the host computer of the chores of stepping the disk head arm, moving the head arm in and out, and so on, as had to be done with earlier ST-506 and ESDI hard drives. All of these low-level details of the mechanical operation of the drive were now handled by the controller on the drive itself. This also eliminated the need to design a single controller that could handle many different types of drives, since the controller could be unique for the drive. The host need only to ask for a particular sector, or block, to be read or written, and either accept the data from the drive or send the data to it.

The interface used by these drives was standardized in 1994 as ANSI standard X3.221-1994, AT Attachment Interface for Disk Drives. After later versions of the standard were developed, this became known as "ATA-1".[18][19]

A short-lived, seldom-used implementation of ATA was created for the IBM XT and similar machines that used the 8-bit version of the ISA bus. It has been referred to as "XT-IDE", "XTA" or "XT Attachment".[20]

EIDE and ATA-2

[edit]

In 1994, about the same time that the ATA-1 standard was adopted, Western Digital introduced drives under a newer name, Enhanced IDE (EIDE). These included most of the features of the forthcoming ATA-2 specification and several additional enhancements. Other manufacturers introduced their own variations of ATA-1 such as "Fast ATA" and "Fast ATA-2".

The new version of the ANSI standard, AT Attachment Interface with Extensions ATA-2 (X3.279-1996), was approved in 1996. It included most of the features of the manufacturer-specific variants.[21][22]

ATA-2 also was the first to note that devices other than hard drives could be attached to the interface:

3.1.7 Device: Device is a storage peripheral. Traditionally, a device on the ATA interface has been a hard disk drive, but any form of storage device may be placed on the ATA interface provided it adheres to this standard.

— AT Attachment Interface with Extensions (ATA-2), page 2[22]

ATAPI

[edit]

ATA was originally designed for, and worked only with, hard disk drives and devices that could emulate them. The introduction of ATAPI (ATA Packet Interface) by a group called the Small Form Factor committee (SFF) allowed ATA to be used for a variety of other devices that require functions beyond those necessary for hard disk drives. For example, any removable media device needs a "media eject" command, and a way for the host to determine whether the media is present, and these were not provided in the ATA protocol.

ATAPI is a protocol allowing the ATA interface to carry SCSI commands and responses; therefore, all ATAPI devices are actually "speaking SCSI" other than at the electrical interface. The SCSI commands and responses are embedded in "packets" (hence "ATA Packet Interface") for transmission on the ATA cable. This allows any device class for which a SCSI command set has been defined to be interfaced via ATA/ATAPI.

ATAPI devices are also "speaking ATA", as the ATA physical interface and protocol are still being used to send the packets. On the other hand, ATA hard drives and solid state drives do not use ATAPI.

ATAPI devices include CD-ROM and DVD-ROM drives, tape drives, and large-capacity floppy drives such as the Zip drive and SuperDisk drive. Some early ATAPI devices were simply SCSI devices with an ATA/ATAPI to SCSI protocol converter added on.[citation needed]

The SCSI commands and responses used by each class of ATAPI device (CD-ROM, tape, etc.) are described in other documents or specifications specific to those device classes and are not within ATA/ATAPI or the T13 committee's purview. One commonly used set is defined in the MMC SCSI command set.

ATAPI was adopted as part of ATA in INCITS 317-1998, AT Attachment with Packet Interface Extension (ATA/ATAPI-4).[23][24][25]

UDMA and ATA-4

[edit]

The ATA/ATAPI-4 standard also introduced several "Ultra DMA" transfer modes. These initially supported speeds from 16 to 33 MB/s. In later versions, faster Ultra DMA modes were added, requiring new 80-wire cables to reduce crosstalk. The latest versions of Parallel ATA support up to 133 MB/s.

Ultra ATA

[edit]

Ultra ATA, abbreviated UATA, is a designation that has been primarily used by Western Digital for different speed enhancements to the ATA/ATAPI standards. For example, in 2000 Western Digital published a document describing "Ultra ATA/100", which brought performance improvements for the then-current ATA/ATAPI-5 standard by improving maximum speed of the Parallel ATA interface from 66 to 100 MB/s.[26] Most of Western Digital's changes, along with others, were included in the ATA/ATAPI-6 standard (2002).

x86 BIOS size limitations

[edit]

Initially, the size of an ATA drive was stored in the system x86 BIOS using a type number (1 through 45) that predefined the C/H/S parameters[27] and also often the landing zone, in which the drive heads are parked while not in use. Later, a "user definable" format[27] called C/H/S or cylinders, heads, sectors was made available. These numbers were important for the earlier ST-506 interface, but were generally meaningless for ATA—the CHS parameters for later ATA large drives often specified impossibly high numbers of heads or sectors that did not actually define the internal physical layout of the drive at all. From the start, and up to ATA-2, every user had to specify explicitly how large every attached drive was. From ATA-2 on, an "identify drive" command was implemented that can be sent and which will return all drive parameters.

Owing to a lack of foresight by motherboard manufacturers, the system BIOS was often hobbled by artificial C/H/S size limitations due to the manufacturer assuming certain values would never exceed a particular numerical maximum.

The first of these BIOS limits occurred when ATA drives reached sizes in excess of 504 MiB, because some motherboard BIOSes would not allow C/H/S values above 1024 cylinders, 16 heads, and 63 sectors. Multiplied by 512 bytes per sector, this totals 528482304 bytes which, divided by 1048576 bytes per MiB, equals 504 MiB (528 MB).

The second of these BIOS limitations occurred at 1024 cylinders, 256 heads, and 63 sectors, and a problem in MS-DOS limited the number of heads to 255. This totals to 8422686720 bytes (8032.5 MiB), commonly referred to as the 8.4 gigabyte barrier. This is again a limit imposed by x86 BIOSes, and not a limit imposed by the ATA interface.

It was eventually determined that these size limitations could be overridden with a small program loaded at startup from a hard drive's boot sector. Some hard drive manufacturers, such as Western Digital, started including these override utilities with large hard drives to help overcome these problems. However, if the computer was booted in some other manner without loading the special utility, the invalid BIOS settings would be used and the drive could either be inaccessible or appear to the operating system to be damaged.

Later, an extension to the x86 BIOS disk services called the "Enhanced Disk Drive" (EDD) was made available, which makes it possible to address drives as large as 264 sectors.[28]

Interface size limitations

[edit]

The first drive interface used 22-bit addressing mode which resulted in a maximum drive capacity of two gigabytes. Later, the first formalized ATA specification used a 28-bit addressing mode through LBA28, allowing for the addressing of 228 (268435456) sectors (blocks) of 512 bytes each, resulting in a maximum capacity of 128 GiB (137 GB).

ATA-6 introduced 48-bit addressing, increasing the limit to 128 PiB (144 PB). As a consequence, any ATA drive of capacity larger than about 137 GB must be an ATA-6 or later drive. Connecting such a drive to a host with an ATA-5 or earlier interface will limit the usable capacity to the maximum of the interface.

Some operating systems, including Windows XP pre-SP1, and Windows 2000 pre-SP3, disable LBA48 by default, requiring the user to take extra steps to use the entire capacity of an ATA drive larger than about 137 gigabytes.[29]

Older operating systems, such as Windows 98, do not support 48-bit LBA at all. However, members of the third-party group MSFN[30] have modified the Windows 98 disk drivers to add unofficial support for 48-bit LBA to Windows 95 OSR2, Windows 98, Windows 98 SE and Windows ME.

Some 16-bit and 32-bit operating systems supporting LBA48 may still not support disks larger than 2 TiB due to using 32-bit arithmetic only; a limitation also applying to many boot sectors.

Primacy and obsolescence

[edit]

Parallel ATA (then simply called ATA or IDE) became the primary storage device interface for PCs soon after its introduction. In some systems, a third and fourth motherboard interface was provided, allowing up to eight ATA devices to be attached to the motherboard. Often, these additional connectors were implemented by inexpensive RAID controllers.

Soon after the introduction of Serial ATA (SATA) in 2003, use of Parallel ATA declined. Some PCs and laptops of the era have a SATA hard disk and an optical drive connected to PATA.

As of 2007, some PC chipsets, for example the Intel ICH10, had removed support for PATA. Motherboard vendors still wishing to offer Parallel ATA with those chipsets must include an additional interface chip. In more recent computers, the Parallel ATA interface is rarely used even if present, as four or more Serial ATA connectors are usually provided on the motherboard and SATA devices of all types are common.

With Western Digital's withdrawal from the PATA market, hard disk drives with the PATA interface were no longer in production after December 2013 for other than specialty applications.[31]

Interface

[edit]

Parallel ATA cables transfer data 16 bits at a time. The traditional cable uses 40-pin female insulation displacement connectors (IDC) attached to a 40- or 80-conductor ribbon cable. Each cable has two or three connectors, one of which plugs into a host adapter interfacing with the rest of the computer system. The remaining connector(s) plug into storage devices, most commonly hard disk drives or optical drives. Each connector has 39 physical pins arranged into two rows (2.54 mm, 110-inch pitch), with a gap or key at pin 20. Earlier connectors may not have that gap, with all 40 pins available. Thus, later cables with the gap filled in are incompatible with earlier connectors, although earlier cables are compatible with later connectors.

Round parallel ATA cables (as opposed to ribbon cables) were eventually made available for 'case modders' for cosmetic reasons, as well as claims of improved computer cooling and were easier to handle; however, only ribbon cables are supported by the ATA specifications.

Pin 20
In the ATA standard, pin 20 is defined as a mechanical key and is not used. This pin's socket on the female connector is often obstructed, requiring pin 20 to be omitted from the male cable or drive connector; it is thus impossible to plug it in the wrong way round. However, some flash memory drives can use pin 20 as VCC_in to power the drive without requiring a special power cable; this feature can only be used if the equipment supports this use of pin 20.[32]
Pin 28
Pin 28 of the gray (slave/middle) connector of an 80-conductor cable is not attached to any conductor of the cable. It is attached normally on the black (master drive end) and blue (motherboard end) connectors. This enables cable select functionality.
Pin 34
Pin 34 is connected to ground inside the blue connector of an 80-conductor cable but not attached to any conductor of the cable, allowing for detection of such a cable. It is attached normally on the gray and black connectors.[33]

44-pin variant

[edit]

A 44-pin variant PATA connector is used for 2.5 inch drives inside laptops. The pins are closer together (2.0 mm pitch) and the connector is physically smaller than the 40-pin connector. The extra pins carry power.

80-conductor variant

[edit]
80 pin parallel ATA interface on a 1.8" hard disk
Comparison between ATA cables: 40-conductor ribbon cable (top), and 80-conductor ribbon cable (bottom). In both cases, a 40-pin female connector is used.

ATA's cables have had 40 conductors for most of its history (44 conductors for the smaller form-factor version used for 2.5" drives—the extra four for power), but an 80-conductor version appeared with the introduction of the UDMA/66 mode. All of the additional conductors in the new cable are grounds, interleaved with the signal conductors to reduce the effects of capacitive coupling between neighboring signal conductors, reducing crosstalk. Capacitive coupling is more of a problem at higher transfer rates, and this change was necessary to enable the 66 megabytes per second (MB/s) transfer rate of UDMA4 to work reliably. The faster UDMA5 and UDMA6 modes also require 80-conductor cables.

Though the number of conductors doubled, the number of connector pins and the pinout remain the same as 40-conductor cables, and the external appearance of the connectors is identical. Internally, the connectors are different; the connectors for the 80-conductor cable connect a larger number of ground conductors to the ground pins, while the connectors for the 40-conductor cable connect ground conductors to ground pins one-to-one. 80-conductor cables usually come with three differently colored connectors (blue, black, and gray for controller, master drive, and slave drive respectively) as opposed to uniformly colored 40-conductor cable's connectors (commonly all gray). The gray connector on 80-conductor cables has pin 28 CSEL not connected, making it the slave position for drives configured cable select.

Multiple devices on a cable

[edit]

If two devices are attached to a single cable, one must be designated as Device 0 (in the past, commonly designated master) and the other as Device 1 (in the past, commonly designated as slave).[34] This distinction is necessary to allow both drives to share the cable without conflict. The Device 0 drive is the drive that usually appears "first" to the computer's BIOS and/or operating system. In most personal computers the drives are often designated as "C:" for the Device 0 and "D:" for the Device 1 referring to one active primary partitions on each.

The mode that a device must use is often set by a jumper setting on the device itself, which must be manually set to Device 0 (Master) or Device 1 (Slave). If there is a single device on a cable, it should be configured as Device 0. However, some certain era drives have a special setting called Single for this configuration (Western Digital, in particular). Also, depending on the hardware and software available, a Single drive on a cable will often work reliably even though configured as the Device 1 drive (most often seen where an optical drive is the only device on the secondary ATA interface).

The words primary and secondary typically refers to the two IDE cables, which can have two drives each (primary master, primary slave, secondary master, secondary slave).

There are many debates about how much a slow device can impact the performance of a faster device on the same cable. On early ATA host adapters, both devices' data transfers can be constrained to the speed of the slower device, if two devices of different speed capabilities are on the same cable. For all modern ATA host adapters, this is not true, as modern ATA host adapters support independent device timing. This allows each device on the cable to transfer data at its own best speed. Even with earlier adapters without independent timing, this effect applies only to the data transfer phase of a read or write operation.[35] This is caused by the omission of both overlapped and queued feature sets from most parallel ATA products. Only one device on a cable can perform a read or write operation at one time; therefore, a fast device on the same cable as a slow device under heavy use will find it has to wait for the slow device to complete its task first. However, most modern devices will report write operations as complete once the data is stored in their onboard cache memory, before the data is written to the (slow) magnetic storage. This allows commands to be sent to the other device on the cable, reducing the impact of the "one operation at a time" limit. The impact of this on a system's performance depends on the application. For example, when copying data from an optical drive to a hard drive (such as during software installation), this effect probably will not matter. Such jobs are necessarily limited by the speed of the optical drive no matter where it is. But if the hard drive in question is also expected to provide good throughput for other tasks at the same time, it probably should not be on the same cable as the optical drive.

Cable select

[edit]

A drive mode called cable select was described as optional in ATA-1 and has come into fairly widespread use with ATA-5 and later. A drive set to "cable select" automatically configures itself as Device 0 or Device 1, according to its position on the cable. Cable select is controlled by pin 28. The host adapter grounds this pin; if a device sees that the pin is grounded, it becomes the Device 0 (master) device; if it sees that pin 28 is open, the device becomes the Device 1 (slave) device.

This setting is usually chosen by a jumper setting on the drive called "cable select", usually marked CS, which is separate from the Device 0/1 setting.

If two drives are configured as Device 0 and Device 1 manually, this configuration does not need to correspond to their position on the cable. Pin 28 is only used to let the drives know their position on the cable; it is not used by the host when communicating with the drives. In other words, the manual master/slave setting using jumpers on the drives takes precedence and allows them to be freely placed on either connector of the ribbon cable.

With the 40-conductor cable, it was very common to implement cable select by simply cutting the pin 28 wire between the two device connectors; putting the slave Device 1 device at the end of the cable, and the master Device 0 on the middle connector. This arrangement eventually was standardized in later versions. However, it had one drawback: if there is just one master device on a 2-drive cable, using the middle connector, this results in an unused stub of cable, which is undesirable for physical convenience and electrical reasons. The stub causes signal reflections, particularly at higher transfer rates.

Starting with the 80-conductor cable defined for use in ATAPI5/UDMA4, the master Device 0 device goes at the far-from-the-host end of the 18-inch (460 mm) cable on the black connector, the slave Device 1 goes on the grey middle connector, and the blue connector goes to the host (e.g. motherboard IDE connector, or IDE card). So, if there is only one (Device 0) device on a two-drive cable, using the black connector, there is no cable stub to cause reflections (the unused connector is now in the middle of the ribbon). Also, cable select is now implemented in the grey middle device connector, usually simply by omitting the pin 28 contact from the connector body.

Serialized, overlapped, and queued operations

[edit]

The parallel ATA protocols up through ATA-3 require that once a command has been given on an ATA interface, it must complete before any subsequent command may be given. Operations on the devices must be serialized‍—‌with only one operation in progress at a time‍—‌with respect to the ATA host interface. A useful mental model is that the host ATA interface is busy with the first request for its entire duration, and therefore can not be told about another request until the first one is complete. The function of serializing requests to the interface is usually performed by a device driver in the host operating system.

The ATA-4 and subsequent versions of the specification have included an "overlapped feature set" and a "queued feature set" as optional features, both being given the name "Tagged Command Queuing" (TCQ), a reference to a set of features from SCSI which the ATA version attempts to emulate. However, support for these is extremely rare in actual parallel ATA products and device drivers because these feature sets were implemented in such a way as to maintain software compatibility with its heritage as originally an extension of the ISA bus. This implementation resulted in excessive CPU utilization which largely negated the advantages of command queuing. By contrast, overlapped and queued operations have been common in other storage buses; in particular, SCSI's version of tagged command queuing had no need to be compatible with APIs designed for ISA, allowing it to attain high performance with low overhead on buses which supported first party DMA like PCI. This has long been seen as a major advantage of SCSI.

The Serial ATA standard has supported native command queueing (NCQ) since its first release, but it is an optional feature for both host adapters and target devices. Many obsolete PC motherboards do not support NCQ, but modern SATA hard disk drives and SATA solid-state drives usually support NCQ, which is not the case for removable (CD/DVD) drives because the ATAPI command set used to control them prohibits queued operations.

HDD passwords and security

[edit]

ATA devices may support an optional security feature which is defined in an ATA specification, and thus not specific to any brand or device. The security feature can be enabled and disabled by sending special ATA commands to the drive. If a device is locked, it will refuse all access until it is unlocked. A device can have two passwords: A User Password and a Master Password; either or both may be set. There is a Master Password identifier feature which, if supported and used, can identify the current Master Password (without disclosing it). The Master Password, if set, can used by the administrator to cancel two (Master and User) passwords if the end user forgot the User Password. On some laptops and some business computers, their BIOS can control the ATA passwords.[36]

A device can be locked in two modes: High security mode or Maximum security mode. Bit 8 in word 128 of the IDENTIFY response shows which mode the disk is in: 0 = High, 1 = Maximum. In High security mode, the device can be unlocked with either the User or Master password, using the "SECURITY UNLOCK DEVICE" ATA command. There is an attempt limit, normally set to 5, after which the disk must be power cycled or hard-reset before unlocking can be attempted again. Also in High security mode, the SECURITY ERASE UNIT command can be used with either the User or Master password. In Maximum security mode, the device can be unlocked only with the User password. If the User password is not available, the only remaining way to get at least the bare hardware back to a usable state is to issue the SECURITY ERASE PREPARE command, immediately followed by SECURITY ERASE UNIT. In Maximum security mode, the SECURITY ERASE UNIT command requires the Master password and will completely erase all data on the disk. Word 89 in the IDENTIFY response indicates how long the operation will take.[37] While the ATA lock is intended to be impossible to defeat without a valid password, there are purported workarounds to unlock a device.[citation needed]

For NVMe drives, the security features, including lock passwords, was defined in OPAL standard. [38]

For sanitizing entire disks the built-in Secure Erase command is effective when implemented correctly.[39] There have been a few reported instances of failures to erase some or all data.[40][41] [39] On some laptops and some business computers, their BIOS can utilize Secure Erase to erase all data of the disk.

External parallel ATA devices

[edit]
PATA to USB Adapter. It is mounted on the rear of a DVD-RW optical drive inside an external case

Due to a short cable length specification and shielding issues it is extremely uncommon to find external PATA devices that directly use PATA for connection to a computer. A device connected externally needs additional cable length to form a U-shaped bend so that the external device may be placed alongside, or on top of the computer case, and the standard cable length is too short to permit this. For ease of reach from motherboard to device, the connectors tend to be positioned towards the front edge of motherboards, for connection to devices protruding from the front of the computer case. This front-edge position makes extension out the back to an external device even more difficult. Ribbon cables are poorly shielded, and the standard relies upon the cabling to be installed inside a shielded computer case to meet RF emissions limits.

External hard disk drives or optical disk drives that have an internal PATA interface, use some other interface technology to bridge the distance between the external device and the computer. USB is the most common external interface, followed by Firewire. A bridge chip inside the external devices converts from the USB interface to PATA, and typically only supports a single external device without cable select or master/slave.

Specifications

[edit]

The following table shows the names of the versions of the ATA standards and the transfer modes and rates supported by each. Note that the transfer rate for each mode (for example, 66.7 MB/s for UDMA4, commonly called "Ultra-DMA 66", defined by ATA-5) gives its maximum theoretical transfer rate on the cable. This is simply two bytes multiplied by the effective clock rate, and presumes that every clock cycle is used to transfer end-user data. In practice, of course, protocol overhead reduces this value.

Congestion on the host bus to which the ATA adapter is attached may also limit the maximum burst transfer rate. For example, the maximum data transfer rate for conventional PCI bus is 133 MB/s, and this is shared among all active devices on the bus.

In addition, no ATA hard drives existed in 2005 that were capable of measured sustained transfer rates of above 80 MB/s. Furthermore, sustained transfer rate tests do not give realistic throughput expectations for most workloads: They use I/O loads specifically designed to encounter almost no delays from seek time or rotational latency. Hard drive performance under most workloads is limited first and second by those two factors; the transfer rate on the bus is a distant third in importance. Therefore, transfer speed limits above 66 MB/s really affect performance only when the hard drive can satisfy all I/O requests by reading from its internal cache—a very unusual situation, especially considering that such data is usually already buffered by the operating system.

As of July 2021, mechanical hard disk drives can transfer data at up to 524 MB/s,[42] which is far beyond the capabilities of the PATA/133 specification. High-performance solid state drives can transfer data at up to 7000–7500 MB/s.[43]

Only the Ultra DMA modes use CRC to detect errors in data transfer between the controller and drive. This is a 16-bit CRC, and it is used for data blocks only. Transmission of command and status blocks do not use the fast signaling methods that would necessitate CRC. For comparison, in Serial ATA, 32-bit CRC is used for both commands and data.[44]

Features introduced with each ATA revision

[edit]
Standard Other names New transfer modes Maximum disk size
(512 byte sector)
Other significant changes ANSI reference
IDE (pre-ATA) IDE PIO 0 GiB (2.1 GB) 22-bit logical block addressing (LBA)
ATA-1 ATA, IDE PIO 0, 1, 2
Single-word DMA 0, 1, 2
Multi-word DMA 0
128 GiB (137 GB) 28-bit logical block addressing (LBA) X3.221-1994 Archived 2012-03-21 at the Wayback Machine
(obsolete since 1999)
ATA-2 EIDE, Fast ATA, Fast IDE, Ultra ATA PIO 3, 4
Multi-word DMA 1, 2
44-pin Small Form Factor connector, for ≤2.5″ drives, and PCMCIA connector. Identify drive command.[45] Plug and play support. X3.279-1996 Archived 2011-07-28 at the Wayback Machine
(obsolete since 2001)
ATA-3 EIDE Single-word DMA modes dropped[46] S.M.A.R.T., Security X3.298-1997 Archived 2014-07-22 at the Wayback Machine
(obsolete since 2002)
ATA/ATAPI-4 ATA-4, Ultra ATA/33 Ultra DMA 0, 1, 2,
also known as UDMA/33
AT Attachment Packet Interface (ATAPI) (support for CD-ROM, tape drives etc.), Optional overlapped and queued command set features, Host Protected Area (HPA), CompactFlash Association (CFA) feature set for solid state drives NCITS 317-1998 Archived 2014-07-22 at the Wayback Machine
ATA/ATAPI-5 ATA-5, Ultra ATA/66 Ultra DMA 3, 4,
also known as UDMA/66
80-wire cables; CompactFlash connector NCITS 340-2000 Archived 2014-07-22 at the Wayback Machine
ATA/ATAPI-6 ATA-6, Ultra ATA/100 UDMA 5,
also known as UDMA/100
128 PiB (144 PB) 48-bit LBA, Device Configuration Overlay (DCO),
Automatic Acoustic Management (AAM)
CHS method of addressing data obsolete
NCITS 361-2002 Archived 2011-09-15 at the Wayback Machine
ATA/ATAPI-7 ATA-7, Ultra ATA/133 UDMA 6,
also known as UDMA/133
SATA/150
SATA 1.0, Streaming feature set, long logical/physical sector feature set for non-packet devices INCITS 397-2005 (vol 1) Archived 2020-08-06 at the Wayback Machine INCITS 397-2005 (vol 2) Archived 2020-06-16 at the Wayback Machine INCITS 397-2005 (vol 3) Archived 2020-06-15 at the Wayback Machine
ATA/ATAPI-8 ATA-8  — Hybrid drive featuring non-volatile cache to speed up critical OS files INCITS 452-2008 Archived 2014-10-10 at the Wayback Machine
ATA/ATAPI-8 ACS-2  — Data Set Management, Extended Power Conditions, CFast, additional stats., etc. INCITS 482-2012 Archived 2016-07-01 at the Wayback Machine
ATA/ATAPI-8 ACS-3  —
ATA/ATAPI-8 ACS-4  — Zoned ATA Command

Speed of defined transfer modes

[edit]
Transfer Modes
Mode # Maximum transfer rate
(MB/s)
cycle time
PIO 0 3.3 600 ns
1 5.2 383 ns
2 8.3 240 ns
3 11.1 180 ns
4 16.7 120 ns
Single-word DMA 0 2.1 960 ns
1 4.2 480 ns
2 8.3 240 ns
Multi-word DMA 0 4.2 480 ns
1 13.3 150 ns
2 16.7 120 ns
3[47] 20 100 ns
4[47] 25 80 ns
Ultra DMA 0 16.7 240 ns ÷ 2
1 25.0 160 ns ÷ 2
2 (Ultra ATA/33) 33.3 120 ns ÷ 2
3 44.4 90 ns ÷ 2
4 (Ultra ATA/66) 66.7 60 ns ÷ 2
5 (Ultra ATA/100) 100 40 ns ÷ 2
6 (Ultra ATA/133) 133 30 ns ÷ 2
7 (Ultra ATA/167)[48] 167 24 ns ÷ 2
[edit]

ATAPI Removable Media Device (ARMD)

[edit]

ATAPI devices with removable media, other than CD and DVD drives, are classified as ARMD (ATAPI Removable Media Device) and can appear as either a super-floppy (non-partitioned media) or a hard drive (partitioned media) to the operating system. These can be supported as bootable devices by a BIOS complying with the ATAPI Removable Media Device BIOS Specification,[49] originally developed by Compaq Computer Corporation and Phoenix Technologies. It specifies provisions in the BIOS of a personal computer to allow the computer to be bootstrapped from devices such as Zip drives, Jaz drives, SuperDisk (LS-120) drives, and similar devices.

These devices have removable media like floppy disk drives, but capacities more commensurate with hard drives, and programming requirements unlike either. Due to limitations in the floppy controller interface most of these devices were ATAPI devices, connected to one of the host computer's ATA interfaces, similarly to a hard drive or CD-ROM device. However, existing BIOS standards did not support these devices. An ARMD-compliant BIOS allows these devices to be booted from and used under the operating system without requiring device-specific code in the OS.

A BIOS implementing ARMD allows the user to include ARMD devices in the boot search order. Usually an ARMD device is configured earlier in the boot order than the hard drive. Similarly to a floppy drive, if bootable media is present in the ARMD drive, the BIOS will boot from it; if not, the BIOS will continue in the search order, usually with the hard drive last.

There are two variants of ARMD, ARMD-FDD and ARMD-HDD. Originally ARMD caused the devices to appear as a sort of very large floppy drive, either the primary floppy drive device 00h or the secondary device 01h. Some operating systems required code changes to support floppy disks with capacities far larger than any standard floppy disk drive. Also, standard-floppy disk drive emulation proved to be unsuitable for certain high-capacity floppy disk drives such as Iomega Zip drives. Later the ARMD-HDD, ARMD-"Hard disk device", variant was developed to address these issues. Under ARMD-HDD, an ARMD device appears to the BIOS and the operating system as a hard drive.

ATA over Ethernet

[edit]

In August 2004, Sam Hopkins and Brantley Coile of Coraid specified a lightweight ATA over Ethernet protocol to carry ATA commands over Ethernet instead of directly connecting them to a PATA host adapter. This permitted the established block protocol to be reused in storage area network (SAN) applications.

Compact Flash

[edit]
Compact flash is a miniature ATA interface, slightly modified to be able to also supply power to the CF device.

Compact Flash in its IDE mode is essentially a miniaturized ATA interface, intended for use on devices that use flash memory storage. No interfacing chips or circuitry are required, other than to directly adapt the smaller CF socket onto the larger ATA connector. (Although most CF cards only support IDE mode up to PIO4, making them much slower in IDE mode than their CF capable speed[50])

The ATA connector specification does not include pins for supplying power to a CF device, so power is inserted into the connector from a separate source. The exception to this is when the CF device is connected to a 44-pin ATA bus designed for 2.5-inch hard disk drives, commonly found in notebook computers, as this bus implementation must provide power to a standard hard disk drive.

CF devices can be designated as devices 0 or 1 on an ATA interface, though since most CF devices offer only a single socket, it is not necessary to offer this selection to end users. Although CF can be hot-pluggable with additional design methods, by default when wired directly to an ATA interface, it is not intended to be hot-pluggable.

See also

[edit]

References

[edit]
  1. ^ "t13.org".
  2. ^ "Serial ATA: A Comparison with Ultra ATA Technology" (PDF). Seagate Technology. Archived from the original (PDF) on 2012-01-05. Retrieved 23 January 2012.
  3. ^ Frawley, Lucas. "Parallel vs. Serial ATA". What Is? The Information for Your Computer Questions. Directron.com. Archived from the original on 1 August 2003. Retrieved 23 January 2012.
  4. ^ a b David A. Deming, The Essential Guide to Serial ATA and SATA Express, CRC Press - 2014, page 32
  5. ^ Common Access Method AT Bus Attachment, Rev 1, April 1, 1989, CAM/89-002, CAM Committee
  6. ^ "Ref - Overview of the IDE/ATA Interface". PCGuide. Archived from the original on 2001-04-18. Retrieved 2013-06-14.
  7. ^ Lamers, Lawrence J., ed. (1994). AT Attachment Interface for Disk Drives (PDF) (Technical report). ANSI ASC X3. X3.221-1994. Archived from the original (PDF) on 2012-03-21. Retrieved 2014-08-28.
  8. ^ Finch, Stephen G., ed. (March 18, 1996). AT Attachment Interface with Extensions (ATA-2) revision 4c (PDF) (Technical report). ANSI ASC X3T10. X3.279-1996. Archived from the original (PDF) on July 28, 2011. Retrieved August 28, 2014.
  9. ^ Stevens, Curtis E., ed. (September 6, 2008). AT Attachment 8 - ATA/ATAPI Command Set (ATA8-ACS) revision 6a (PDF) (Technical report). ANSI ASC T13. INCITS 452-2008. Archived from the original (PDF) on October 10, 2014. Retrieved June 21, 2016.
  10. ^ William Rothwell, LPIC-2 Cert Guide: (201-400 and 202-400 exams), Pearson IT Certification - 2016, page 150
  11. ^ Nitin Vengurlekar, Murali Vallath, Rich Long, Oracle Automatic Storage Management: Under-the-Hood & Practical Deployment Guide, McGraw Hill Professional - 2007, page 6
  12. ^ Simon Collin, Dictionary of Computing: Over 10,000 Terms Clearly Defined, A&C Black, 2009, page 67
  13. ^ Scott Mueller, Upgrading and Repairing PCs - Chapter 7. The ATA/IDE Interface, Que Publishing, Jun 22, 2015
  14. ^ "System Architecture: a look at hard drives". Archived from the original on 2006-05-08. Retrieved 2008-07-25.
  15. ^ Charles M. Kozierok (2001-04-17). "The PC Guide: Overview and History of the IDE/ATA Interface". Archived from the original on 2001-04-18. Retrieved 2008-08-23.
  16. ^ Gene Milligan (2005-12-18). "The History of CAM ATA". Archived from the original on 2008-10-04. Retrieved 2008-08-27.
  17. ^ Burniece, Tom (July 21, 2011). "Conner CP341 Drive (ATA/IDE)". Wikifoundry. Computer History Museum Storage Special Interest Group. Archived from the original on February 24, 2021. Retrieved January 10, 2020.
  18. ^ Charles M. Kozierok (2001-04-17). "The PC Guide: ATA (ATA-1)". Retrieved 2008-08-23.
  19. ^ Technical Committee T13 AT Attachment (1994). AT Attachment Interface for Disk Drives (ATA-1). Global Engineering Documents.{{cite book}}: CS1 maint: numeric names: authors list (link)
  20. ^ Independent Technology Service (2008). "Data Recovery and Hard Disk Drive Glossary of Terms". Archived from the original on 2012-07-11. Retrieved 2012-07-11.
  21. ^ Charles M. Kozierok (2001-04-17). "The PC Guide: ATA (ATA-2)". Retrieved 2008-08-23.
  22. ^ a b Technical Committee T13 AT Attachment (1996). AT Attachment Interface with Extensions (ATA-2). Global Engineering Documents.{{cite book}}: CS1 maint: numeric names: authors list (link)
  23. ^ Charles M. Kozierok (2001-04-17). "The PC Guide: SFF-8020 / ATA Packet Interface (ATAPI)". Retrieved 2008-08-23.
  24. ^ Charles M. Kozierok (2001-04-17). "The PC Guide: ATA/ATAPI-4". Retrieved 2008-08-23.
  25. ^ Technical Committee T13 AT Attachment (1998). AT Attachment with Packet Interface Extension (ATA/ATAPI-4). Global Engineering Documents.{{cite book}}: CS1 maint: numeric names: authors list (link)
  26. ^ Western Digital Corporation. "Ultra ATA/100 Extends Existing Technology While Increasing Performance and Data Integrity" (PDF). Archived (PDF) from the original on 2022-10-09.
  27. ^ a b "kursk.ru – Standard CMOS Setup". Archived from the original on 2018-10-04. Retrieved 2011-05-27.
  28. ^ "teleport.com – Interrupts Page". Archived from the original on 2 November 2001.
  29. ^ FryeWare (2005). "EnableBigLba Registry Setting in Windows 2000 and XP". Retrieved 2011-12-29. The setting is HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\atapi\Parameters\EnableBigLba = 1.
  30. ^ LLXX (2006-07-12). "Enable48BitLBA - Break the 137 GB barrier!". 1.1. Archived from the original on 2013-12-12. Retrieved 2013-09-03.
  31. ^ "Western Digital stops sales of PATA drives". Myce.com. 2013-12-20. Retrieved 2013-12-25.
  32. ^ "Welcome to Transcend website". Archived from the original on 2011-09-27. Retrieved 2007-02-01.
  33. ^ "Information Technology - AT Attachment with Packet Interface - 5 (ATA/ATAPI-5) - Working Draft" (PDF). 2000-02-29. p. 315. Archived from the original (PDF) on 2006-05-27. Retrieved 2013-08-25.
  34. ^ "An Introduction to Parallel ATA (PATA) - Definition and History". MiniTool. 2020-05-12. Retrieved 2023-12-12.
  35. ^ Charles M. Kozierok (2001-04-17). "Independent Master/Slave Device Timing". The PC Guide. Retrieved 2008-08-08.
  36. ^ http://h10032.www1.hp.com/ctg/Manual/c01580453 [bare URL]
  37. ^ "Rockbox – Unlocking a password protected harddisk".
  38. ^ "TCG Storage, Opal, and NVMe".
  39. ^ a b Michael Wei; Laura M. Grupp; Frederick E. Spada; Steven Swanson (2011). "Reliably Erasing Data From Flash-Based Solid State Drives" (PDF). FAST'11: Proceedings of the 9th USENIX conference on File and storage technologies. Wikidata Q115346857. Retrieved 2018-01-08.
  40. ^ "Beware – When SECURE ERASE doesn't erase at all". The HDD Oracle. 2015-11-15. Retrieved 2018-01-08.
  41. ^ "ATA Secure Erase (SE) and hdparm". 2016-11-06. Retrieved 2018-01-08.
  42. ^ Anton Shilov (2021-05-21). "Seagate Lists the Mach.2: The World's Fastest HDD". tomshardware.com. Archived from the original on 2021-07-20. Retrieved 2021-07-20.
  43. ^ Sean Webster (2021-07-02). "Intel Optane SSD DC P5800X Review: The Fastest SSD Ever Made". tomshardware.com. Archived from the original on 2021-07-20. Retrieved 2021-07-20.
  44. ^ "Serial ATA—A Comparison with Ultra ATA Technology" (PDF). Archived from the original (PDF) on 2007-12-03. www.serialata.org
  45. ^ "mpcclub.com – Em8550datasheet.pdf" (PDF). Archived from the original (PDF) on 2011-07-25. Retrieved 2011-05-18.
  46. ^ "Direct Memory Access (DMA) Modes and Bus Mastering DMA".
  47. ^ a b CompactFlash 2.1
  48. ^ "CompactFlash 6.0". Archived from the original on 21 November 2010.
  49. ^ Curtis E. Stevens; Paul J. Broyles (1997-01-30). "ATAPI Removable Media Device BIOS Specification, Version 1.0" (PDF). phoenix.com. Archived from the original (PDF) on 2010-01-02. Retrieved 2015-08-25.
  50. ^ Rysanek, Frank. "CompactFlash cards and DMA/UDMA support in True IDE (tm) mode". Czechoslovakia: FCC PS. Retrieved 2019-06-17.
[edit]